package com.gitee.wsl.common.ui.symbol

import androidx.compose.ui.graphics.Path
import com.gitee.wsl.common.ui.base.Point
import kotlin.math.sqrt

fun Path.triangle(position: Point,radius: Float,sqrt3: Float = sqrt(3.0f)){
    moveTo(position.x, position.y + (radius * 2))
    lineTo(position.x - (sqrt3 * radius), position.y - radius)
    lineTo(position.x + (sqrt3 * radius), position.y - radius)
    close()
}

//fun Path.build(mList:List<Pair<Point,Int>>){
//    fun hasCorner(p: Pair<Point,Int>) = p.second > 0
//
//    for (i in 0..<mList.size) {
//        val p = mList[i].first
//        val x: Float = p.x
//        val y: Float = p.y
//        if (i == 0) {
//            if (p.isStartPoint) {
//                if (hasCorner(mList[i])) {
//                    val p1 = mList.get(i + 1)
//                    val p2 = p
//                    val onePoint: FloatArray = getOnLinePointLocationEnd(p.startRadius, p1.x, p1.y, p2.x, p2.y)
//                    moveTo(onePoint[0], onePoint[1])
//                } else {
//                    moveTo(x, y)
//                }
//            } else {
//                lineTo(x, y)
//            }
//        } else if (i == mList.size - 1) {
//            //最后一个点
//            val p0 = mList[0].first
//            if (p.x == p0.x && p.y == p0.y && hasCorner(mList[0])) {
//                val p1 = mList.get(i - 1)
//                val p2 = p0
//                val p3 = mList.get(1)
//                lineToAndCorner(p2.startRadius, p2.endRadius, p1.x, p1.y, p2.x, p2.y, p3.x, p3.y)
//            } else {
//                lineTo(p.x, p.y)
//            }
//        } else {
//            if (hasCorner(mList[i])) {
//                val p1 = mList.get(i - 1)
//                val p2 = p
//                val p3 = mList.get(i + 1)
//                lineToAndCorner( p2.startRadius, p2.endRadius, p1.x, p1.y, p2.x, p2.y, p3.x, p3.y)
//            } else {
//                lineTo(x, y)
//            }
//        }
//    }
//}